Web Tutorials (Java Resources)
Some examples of concurrent programming in Java will be used to illustrate the taught theoretical concepts and practical difficulties in concurrent programming. You do not have to be very proficient Java programmers, because the focus of this course is on concurrent concepts while the logic of non-critical sections will be simple.
Use any suitable free online tutorial (with text, code, possibly also videos) to revise or learn at least the following basic Java concepts:
- Installing a Java version (e.g. Java SE Platform – JDK)
- Installing and using a free Java IDE (e.g. IntelliJ IDEA Community Edition)
- Classes and objects, including constructors and instantiation
- Methods (functions), including writing public static void main(String[] args) and using System.out.println()
- Access modifiers public, private, protected
- Basic data types and declaring local variables, instance variables (attributes), class/static variables
- Basic assignment, arithmetic and relational operators
- if-else selection
- for, while, do-while loops
- Class inheritance, including overriding methods
- Interfaces
- Basic exception handling using try-catch-finally, throw
If you need help with learning any of these basic Java concepts, ask for help.
Basics of concurrent programming in Java can be discovered through Vladimir's web video linked in the sidebar, or from these tutorials:
- https://tutorials.jenkov.com/java-concurrency/index.html
- https://docs.oracle.com/javase/tutorial/essential/concurrency/procthread.html
There is a tutorial good for beginners, but with with somewhat dated information about Java: https://tutorialspoint.com/java/java_multithreading.htm